home *** CD-ROM | disk | FTP | other *** search
- * ROUTINE TO DISPLAY A MULTIPLICATION GRID.
- IDENTIFICATION DIVISION.
- PROGRAM-ID. HELLO3.
- AUTHOR. cHArRiOTt.
- *
- ENVIRONMENT DIVISION.
- *
- DATA DIVISION.
- WORKING-STORAGE SECTION.
- 01 X-SCREEN-DFT PIC 99 VALUE 10.
- 01 Y-SCREEN-DFT PIC 99 VALUE 05.
- 01 Y-ROW PIC 99.
- 01 X-COLUMN PIC 99.
- 01 X-POS PIC 99.
- 01 Y-POS PIC 99.
- 01 XY-PRODUCT PIC 9(3).
- 01 ws-limit pic 99 value 0.
- *
- *
- PROCEDURE DIVISION.
- 001-MAIN.
- DISPLAY (1 , 10)
- "Routine to CALCULATE and DISPLAY a MULTIPLICATION TABLE".
- display (3 , 10) "Enter maximum table size <limit 10> :".
- accept (3, 48) ws-limit.
- if ws-limit > 1 and ws-limit < 11 then
- MOVE 1 TO Y-ROW
- PERFORM 002-ROWS UNTIL Y-ROW > ws-limit
- else
- display (4 , 10) "Ending early, table outside range".
- STOP RUN.
- *
- *
- 002-ROWS.
- MOVE 1 TO X-COLUMN.
- PERFORM 003-COLUMNS
- VARYING X-COLUMN FROM 1 BY 1 UNTIL X-COLUMN > ws-limit.
- ADD 1 TO Y-ROW.
-
- *
- *
- 003-COLUMNS.
- MOVE ZEROS TO X-POS.
- MULTIPLY X-COLUMN BY 5 GIVING X-POS.
- ADD X-SCREEN-DFT TO X-POS.
- *
- MOVE ZEROS TO Y-POS.
- MOVE Y-ROW TO Y-POS.
- ADD Y-SCREEN-DFT TO Y-POS.
- *
- MULTIPLY Y-ROW BY X-COLUMN
- GIVING XY-PRODUCT.
- PERFORM 004-DISPLAY-PRODUCT.
- *
- *
- 004-DISPLAY-PRODUCT.
- MOVE Y-POS TO LIN.
- MOVE X-POS TO COL.
- DISPLAY (LIN , COL) XY-PRODUCT.
- *
- *
- *****END*******************************************
-